1. Field of the Invention
Businesses are demanding new systems that directly support the management of business processes, systems that bring order and coordination to the flow of work. They are seeking to automate that part of office work that has been impervious to conventional data processing and information processing systems, which were not designed for business process management and are not well-suited to help with it.
The present invention is part of a system that, when implemented in software, provides businesses with the tools they need to manage business processes efficiently and cost-effectively.
The invention can be applied to such a system, whether the system is a simple application, such as intelligent forms routing, to sophisticated mission-critical enterprise-wide systems that integrate all marketing, production, and customer fulfillment processes.
The resulting system enables users of the system to take coordinated action quickly and to manage processes painlessly. The results are increased productivity, reduced cycle time and hence, improved customer satisfaction.
Workflow-enabled systems facilitate business processes. To do so, a workflow management system performs eight key functions:
Notifies the user that he or she has a step to begin or to complete. PA1 Provides the user with the proper tools to complete a task. PA1 Provides the user with the proper information to complete a task. PA1 Allows the user to see where a task fits in the overall process. PA1 Manages the proper reminders, alerts, and follow-ups to keep the process moving. PA1 Automates certain standard procedures. PA1 Integrates with the organization's existing business systems. PA1 Provides simple application program interfaces (APIs) that allow developers to develop new custom applications that are workflow-enabled. PA1 "John asked Frank to prepare the report and deliver it by noon on Friday," PA1 "John proposed to prepare the report and deliver it by noon on Friday for Frank," PA1 transactions services which are those related to initiating and acting in workflows by users and agents; PA1 definition services which are those related to defining the elements of a business process and its workflows and workflow links; PA1 names and routing services which are those related to defining organizational roles and identities; PA1 configuration services which are provided to the system administrator through a specific configuration database; PA1 scheduling services which allow an authorized user to create, modify and delete records of scheduled business processes; and PA1 STF processing services which are provided by the server to STF processors (which are the subject of the present invention as described below) through an STF queue database. PA1 a definitions database which contains records of the definitions of the organizations, business processes, workflows, roles, and acts; PA1 a transactions database which contains records of the enactment of workflows; PA1 a names/routings database which contains records of the roles and identities of the organization where the workflow system is installed; PA1 a schedule database which stores the date and time when a business process must be initiated; PA1 an administration/configuration database which stores information needed by the workflow server to operate; and PA1 a STF queue database which stores the records of notifications to be sent to users that interact with the workflow system through an STF processor interface. PA1 1) Workflow APIs which provide a programming interface to access the services of the workflow server. Workflow enabled applications, STF processors and the application builder are all developed using these APIs. APIs of a workflow system are as follows: transactions API, definitions API, reporter API, names and routings API, schedule API and administration API. PA1 2) Workflow server manager which is a component of the workflow system that provides a user interface for specific maintenance and administration services of the workflow server. PA1 3) Workflow application builder which is a Graphical User Interface (GUI) application that allows a business process designer to specify the business process design with its network of workflows and to automatically generate the definitions needed for a workflow enabled application to work. PA1 4) Workflow analyst which is a GUI application that allows a business process analyst to specify the map of business processes with its network of workflows. PA1 5) Workflow reporter which is a GUI application that provides an interface to the transaction databases through the workflow reporter API of the system. PA1 6) Workflow-enabled applications which interface to the server via the workflow APIs or via direct access to the transactions database of the workflow server, or via the use of an STF processor which can use different interfacing mechanisms such as messaging, database or inter-process communication. PA1 7) STF processors which are a set of mechanisms for developing workflow-enabled applications are provided in a workflow system through the definition of a standard transaction format (STF). Such STF processors are the subject of the present invention.
The workflow system's architecture is designed to fit within a variety of computer systems, collecting around itself not only specific applications, but also system enhancements and utilities from users and third-party developers. In addition, the architecture is designed to allow for interoperability among different applications and across diverse platforms.
A fundamental concept of a workflow system is that any business process can be interpreted as a sequence of basic transactions called workflows. Every workflow has a customer, a performer, and conditions of satisfaction. The customer and performer are roles that participants can take in workflows. In addition, each workflow can have observers.
In a workflow, the customer is the person for the sake of whom the work is done, either because they made a request or accepted an offer. It is customers who are responsible for evaluating performed work and determining whether this work meets their conditions of satisfaction.
The performer is the person who is responsible for completing the work and for declaring to the customer when the work is done.
Requests and Offers are the two basic types of workflows. There are other workflow types such as Question, Inform and Note that are simplified derivations of Request and Offer. The conditions of satisfaction specify the work to be performed by the performer. In a request, the customer specifies the conditions of satisfaction, and in an offer the performer specifies them. (Then, of course, the two can enter into negotiation about the work to be done.)
For example, given the sentence:
John is the customer for this workflow, Frank is the performer, and the conditions of satisfaction are "prepare the report and deliver it by noon on Friday." Further, because John asked for the report rather than Frank offering it, this workflow is of the type Request.
Given the sentence:
John is the performer for this workflow, Frank is the customer, and the conditions of satisfaction are still "prepare the report and deliver it by noon on Friday." Further because John proposed the report rather than Frank asking for it, this workflow is of the type Offer.
Observers of workflows take no direct action; they usually observe for management or training purposes.
Business process maps display the workflows as loops, and display the relevant information about each workflow--the customer, the performer, the conditions of satisfaction and the cycle time. FIG. 1 is a business process map having a primary workflow 11, conditional workflows 13 and 15, a conditional link 17, parallel workflows 19 and 21, serial workflows 23 and 25. In a workflow system of the type used in conjunction with the present invention, associated with each workflow are various parameters such as roles, cycle time, conditions of satisfaction or associated semantics to the links that imply automated action or provide the framework for application building, all of which are necessary to create a useful business process representation.
Each workflow has four phases as shown in FIG. 2. The first phase is called the proposal phase during which a request is made of the prospective performer by a customer or an offer to a customer is made by a prospective performer. The second phase is called the agreement phase during which the offer is accepted by the customer or the request is agreed to by the performer and conditions of satisfaction are identified. Of course, during the agreement phase the original conditions of satisfaction can be negotiated by the customer and performer until an agreement is reached. The third phase is called the performance phase during which the performer undertakes to meet the agreed to or accepted conditions of satisfaction. When the performer believes that the conditions of satisfaction have been met, the performer declares completion. The last phase is the satisfaction phase during which the customer determines whether or not the conditions of satisfaction have been met by the performer, and if so, declares satisfaction.
A workflow system incorporates the following components which are shown in FIG. 3, a workflow server and databases, application program interfaces (APIs) and workflow server manager. In addition, a complete workflow system of the type in which the standard transaction format (STF) processors of the present invention may be utilized includes an application builder, analyst, workflow enabled applications and reporter components. The application builder, analyst, workflow enabled applications and reporter components, while useful components of a complete workflow system, do not form part of the present invention and details concerning such components are set forth herein only as needed for an understanding of the invention. The present invention is concerned mainly with STF processors used in combination with a complete workflow system.
A workflow system provides certain services as follows:
Further details concerning the definition services, names and routing services, configuration services and scheduling services are set forth in co-pending U.S. Ser. No. 08/014,796 filed Feb. 8, 1993. The present invention is directed to the STF processing services provided by a workflow system as well as STF processors.
In addition to the foregoing services provided by a workflow system, external interfaces to the system provide services that are used by end-user applications, the workflow application builder, the workflow reporter and the STF processors.
A workflow system utilizes a workflow server which concentrates workflow operations in the server rather than in the end user applications.
All work done by the server is performed by one of three processes which are referred to as the transaction manager, follow-up manager and date/time schedule manager. Processes are software components or tasks that are architected to run as separate entities from each other. The workflow server controls the three basic processes based upon workflow system server administration data in a configuration database in the following manner. First, it determines when to run the transaction manager and spawns that process. Second, it determines when to run the follow-up manager and spawns that process. Third, it determines when to run the date/time schedule manager and spawns that process.
These processes may be separate executables or simply separate tasks within the body of the workflow system server.
A workflow system also utilizes:
The remaining elements of a workflow system are:
In U.S. Ser. No. 600,144 filed Oct. 17, 1990 and U.S. Ser. No. 07/368,179 filed Jun. 19, 1989, both owned by Action Technologies, Inc., the assignee of the present application, methods and systems for managing workflows, called conversations in the referenced applications, are described. However, the teachings in the cited references are limited to single workflows with no capability for mapping business processes made up of a number of workflows linked together. In U.S. Ser. No. 08/005,236 filed Jan. 15, 1993 now U.S. Pat. No. 5,630,069, a method and apparatus are disclosed for creating and modifying business process maps which is a desirable but not necessary component of a workflow system. This component is referred to as the workflow analyst. In U.S. Ser. No. 08/014,796 filed Feb. 8, 1993, a method and apparatus are disclosed for implementing a complete workflow system for managing business processes and their workflows.